package proyecto.BusinessLogic;

import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import proyecto.DataAccessObject.RepiteAlumnoCursoDAORemote;
import proyecto.EntityBeans.RepiteAlumnoCurso;

@Stateless
@Remote(RepiteAlumnoCursoBLRemote.class)
public class RepiteAlumnoCursoBL implements RepiteAlumnoCursoBLRemote {

	RepiteAlumnoCursoDAORemote repiteAlumnoCursoDAORemote;
	
	public int save(RepiteAlumnoCurso repiteAlumnoCurso) {	
		
		try
		{
			Context context = new InitialContext();
			repiteAlumnoCursoDAORemote = (RepiteAlumnoCursoDAORemote) context.lookup("RepiteAlumnoCursoDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
			
		return repiteAlumnoCursoDAORemote.save(repiteAlumnoCurso); //alta de RepiteAlumnoCursoDAO		
		
	}
	
	
	public List findByid(int idAlumno, int idCurso) {
		try
		{
			Context context = new InitialContext();
			repiteAlumnoCursoDAORemote = (RepiteAlumnoCursoDAORemote) context.lookup("RepiteAlumnoCursoDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
			
		return repiteAlumnoCursoDAORemote.findByid(idAlumno, idCurso);
		
	}
	
	public List findByidCurso(int idCurso) {
		try
		{
			Context context = new InitialContext();
			repiteAlumnoCursoDAORemote = (RepiteAlumnoCursoDAORemote) context.lookup("RepiteAlumnoCursoDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
			
		return repiteAlumnoCursoDAORemote.findByidCurso(idCurso);
		
	}
	
	public RepiteAlumnoCurso findByIdAC(int idRepiteAlumnoCurso) {
		try
		{
			Context context = new InitialContext();
			repiteAlumnoCursoDAORemote = (RepiteAlumnoCursoDAORemote) context.lookup("RepiteAlumnoCursoDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
			
		return repiteAlumnoCursoDAORemote.findByIdAC(idRepiteAlumnoCurso);
		
	}
	
		
	public void merge(RepiteAlumnoCurso repiteAlumnoCurso) {
		try
		{
			Context context = new InitialContext();
			repiteAlumnoCursoDAORemote = (RepiteAlumnoCursoDAORemote) context.lookup("RepiteAlumnoCursoDAO/remote");
			repiteAlumnoCursoDAORemote.merge(repiteAlumnoCurso);
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}	
		
	}
	
		
	public List findAll() {		
		try
		{
			Context context = new InitialContext();
			repiteAlumnoCursoDAORemote = (RepiteAlumnoCursoDAORemote) context.lookup("RepiteAlumnoCursoDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		
		return repiteAlumnoCursoDAORemote.findAll();
	}
	
	
		
	public void remove(int idRepiteAlumnoCurso){	
		try
		{
			Context context = new InitialContext();
			repiteAlumnoCursoDAORemote = (RepiteAlumnoCursoDAORemote) context.lookup("RepiteAlumnoCursoDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		
		repiteAlumnoCursoDAORemote.remove(idRepiteAlumnoCurso);
	}
	
}
